#pragma once
#include "ntservice.h"

class CLogicHost: public CNTService
{
public:
    CLogicHost(utils::CPlugin& plugin);
    ~CLogicHost(void);

public:    
    static LPCWSTR GetName();
    static LPCWSTR GetDisplayName();
    virtual void Run(DWORD argc, LPWSTR* argv);
    virtual void Stop();
    virtual void Pause();
    virtual void Continue();
    virtual void Shutdown();
    virtual void DefaultCtrlHandler(DWORD dwCtrlCode);
    virtual BOOL PostInstallService();
    virtual BOOL PostRemoveService();

protected:
    hc::TEvent m_StopEvent;
    const utils::CPlugin& m_refPlugin;
};
